const app = getApp()

// 引入 腾讯地图 Api SDK核心类
var QQMapWX = require('../js/qqmap-wx-jssdk.min.js')
// 实例化API核心类
var demo = new QQMapWX({
  key: 'EP2BZ-NBFKS-MOSO6-6GUD3-7BGRV-LIFIO' // 必填
})

// 屏幕宽高
var winW = app.globalData.winW
var winH = app.globalData.winH

Page({
  data: {
		// 地图点标注
		'latitude': '',
		'longitude': '',
    // 上车
    'goaddr': '正在获取上车地点..',
    // 下车
    'toaddr': '请选择下车地址..',
    // 窗口配置
    'winW': winW,
    'winH': winH,
    // 附近的车列表
    markers: [{
      iconPath: "../images/taxi.png",
      id: 0,
      latitude: 39.93487,
      longitude: 116.47174,
      width: 40,
      height: 40
    }, {
      iconPath: "../images/taxi.png",
      id: 0,
      latitude: 39.93987,
      longitude: 116.46374,
      width: 40,
      height: 40
    }, {
      iconPath: "../images/taxi.png",
      id: 0,
      latitude: 39.93327,
      longitude: 116.46374,
      width: 40,
      height: 40
    }, {
      iconPath: "../images/taxi.png",
      id: 0,
      latitude: 39.93587,
      longitude: 116.46574,
      width: 40,
      height: 40
    }],
    //
    'message': ''
  },
  onLoad: function (option) {
    // 使用 wx.createMapContext 获取 map 上下文
    this.mapCtx = wx.createMapContext('myMap')
    // 移动到经纬度位置
    this.moveToLocation()
  },
  // 移动到经纬度位置
  moveToLocation: function () {
    this.mapCtx.moveToLocation()
  },
  // 拖动选址
  getLngLat: function () {
    var _this = this;
    this.mapCtx = wx.createMapContext("myMap");
    this.mapCtx.getCenterLocation({
      success: function (res) {
        // 获取当前地址名称
        _this.reverseGeocoder(res.latitude, res.longitude)
        //从本地缓存中异步移除指定 key 
        app.removeStorage('gojson');
      }
    })
  },
  // 上车地点选址
  searchGo: function () {
    var _this = this
    wx.chooseLocation({
      success: function (res) {
        var latitude = res.latitude
        var longitude = res.longitude
        var name = res.name
        _this.setData({
          goaddr: name,
					// 地图点标注
					'latitude': latitude,
					'longitude': longitude,
        })
        app.storageJson(latitude, longitude, name, "gojson")
        // 获取是否有上下车地点
        _this.isGoToAddr()
      }
    })
  },
  // 下车地点选址
  searchTo: function () {
    var _this = this
    wx.chooseLocation({
      success: function (res) {
        var latitude = res.latitude
        var longitude = res.longitude
        var name = res.name
        _this.setData({
          toaddr: name
        })
        app.storageJson(latitude, longitude, name, "tojson")
        // 获取是否有上下车地点
        _this.isGoToAddr()
      }
    })
  },
  // 腾讯地图 Api 获取当前地址名称
  reverseGeocoder: function (latitude, longitude) {
    var _this = this;
    // 调用接口
    demo.reverseGeocoder({
      location: {
        latitude: latitude,
        longitude: longitude
      },
      success: function (res) {
        var goaddr = res.result.address_reference.landmark_l2.title
        // 存储上车地点信息
        app.storageJson(latitude, longitude, goaddr, "gojson")
        // 获取本地存储中 上车地点
        wx.getStorage({
          key: 'gojson',
          success: function (res) {
            _this.setData({
              goaddr: res.data.address
            })
          }
        })
      }
    })
  },
  // 判断是否有上下车地点
  isGoToAddr: function () {
    var goaddr = this.data.goaddr
    var toaddr = this.data.toaddr
    if (goaddr != '正在获取上车地点..' && toaddr != '请选择下车地址..') {
			wx.navigateTo({
				url: '../route/route'
			})
    }
  }
})
